/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package grupb.upf.XMLObjects.impl;

import grupb.upf.XMLObjects.NewBody;
import grupb.upf.XMLObjects.Tagging;
import java.io.Serializable;
import java.util.List;
import java.util.Vector;

/**
 * <p>The implementation of the New objects.</p>
 *
 * @version    0.0.1-SNAPSHOT
 * @author     Group B
 */
public final class New implements grupb.upf.XMLObjects.New, Serializable {

    /**
     * The serialVersionUID is created to be able to serialize this class, it's
     * necessary because it will be sent.
     */
    private static final long serialVersionUID = 1L;
    /**
     * The id of the new.
     */
    private int id;
    /**
     * The body of the new.
     */
    private NewBody body;
    /**
     * The title of the new.
     */
    private String title;
    /**
     * The subtitle of the new.
     */
    private String subtitle;
    /**
     * The source of the new.
     */
    private String source;
    /**
     * The date of the new.
     */
    private String date;
    /**
     * The authors of the new.
     */
    private List authors = new Vector();
    /**
     * the tags of the new.
     */
    private Tagging tags;
    /**
     * This methos allows to set the id of the new.
     * @param newId the id of the new
     */
    @Override
    public void setID(final int newId) {
        this.id = newId;
    }
    /**
    * This method allows us to get the id of the new.
    * @return the id of the new
    */
    @Override
    public int getID() {
        return this.id;
    }
    /**
     * This method allows us to set the body of the new.
     * @param newBody the body of the new
     */
    @Override
    public void setBody(final NewBody newBody) {
        this.body = newBody;
    }
    /**
     * This method returns the body of the new.
     * @return The body of the new
     */
    @Override
    public NewBody getBody() {
        return this.body;
    }
    /**
     * This method allows us to set the title of the new.
     * @param newTitle The title of the new
     */
    @Override
    public void setTitle(final String newTitle) {
        this.title = newTitle;
    }
    /**
     * This method returns the title of the new.
     * @return The title of the new
     */
    @Override
    public String getTitle() {
        return this.title;
    }
    /**
     * This method allows us to set the sub title of the new.
     * @param newSubtitle the sub title of the new
     */
    @Override
    public void setSubtitle(final String newSubtitle) {
        this.subtitle = newSubtitle;
    }
    /**
     * This method returns the sub title of the new.
     * @return The sub title of the new
     */
    @Override
    public String getSubtitle() {
        return this.subtitle;
    }
    /**
     * This methos allows us to set the source of the new.
     * @param newSource The source of the new
     */
    @Override
    public void setSource(final String newSource) {
        this.source = newSource;
    }
    /**
     * This method return the source of the new.
     * @return The source of the new
     */
    @Override
    public String getSource() {
        return this.source;
    }
    /**
     * This method allows us to se the date of the new.
     * @param newDate The date of the new
     */
    @Override
    public void setDate(final String newDate) {
        this.date = newDate;
    }
    /**
     * This method returns the date of the new.
     * @return The date of the new
     */
    @Override
    public String getDate() {
        return this.date;
    }
    /**
     * This method allows us to set the author/s of the new.
     * @param newAuthors The author/s of the new
     */
    @Override
    public void setAuthors(final List newAuthors) {
        this.authors = newAuthors;
    }
    /**
     * This method returns the authors of the new.
     * @return The authors of the new
     */
    @Override
    public List getAuthors() {
        return this.authors;
    }
    /**
     * This method allows us to set the tags of the new.
     * @param newTags The tags of hte new
     */
    @Override
    public void setTags(final Tagging newTags) {
        this.tags = newTags;
    }
    /**
     * This method returns the tag of the new.
     * @return The tags of the new
     */
    @Override
    public Tagging getTags() {
        return this.tags;
    }

}
